.model、.domain、.bean、.entity、.vo分层之间的含义 | 您所在的位置:网站首页 › java view层 › .model、.domain、.bean、.entity、.vo分层之间的含义 |
常见SpringBoot或Java Web后端分层时有.model、.domain、.bean、.entity、.vo这几种命名方式,那么这几种命名方式有什么区别及含义呢? 含义: .model本意“模型”,实义一次操作的最小单位,原子单位,常用作数据校验。 .domain本意“域”,“域”在数学意义上即位一组数值对应的所有取值结果。对于数据库而言,一张数据表内字段数量是固定不变的,那么该数据表所有对应的排列组合即为域。当然,还看到了有人是这样定义的:除包含本表基本属性外,还可以包含其它属性。有点绕人?请看示例: public class Student{ private int id; private String name; ... public boolean isQualified; }请注意isQualified该属性不是改数据表内的属性,是为了某业务逻辑处理而增添的。 .bean本意即为bean,现在很少看见有人写纯正的bean了,大部分写的都是简化版的(@Data注解除外)。示例如下: public class BusinessBean implements Serializable{ private int id; private String name; // 无参构造器 // 满参构造器 // 各属性setter、getter方法 @Override pbulic String toString(){ // toString } @Override public boolean equals(){ // equals } }凡是.model、.domain、.entity、.vo层内的类都是满足具备相应的setter、getter方法的。在不考虑严格定义的情况下也可以被称作Java Bean。 .entity本意“实体”,即数据库中每张数据表与持久层所对应的实体类。这里以Spring Data JPA为例,假设存在一student表,那么该层所存类如下: @Table @Entity public class Student{ @Id private int studentId; @Column private String name; // And so on. } .vo本意“视图对象”,即View Object。常用作由服务端返回给客户端或网页。 public class ResultVO { //状态码,比如1000代表响应成功 private int code; //响应信息,用来说明响应情况 private String msg; //响应的具体数据 private T data; public ResultVO(T data) { this(1000, "success", data); } public ResultVO(int code, String msg, T data) { this.code = code; this.msg = msg; this.data = data; } } |
今日新闻 |
推荐新闻 |
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 |